// pages/tabbars/talents/talents.js
import areaList from '../../../static/js/Area'
const app = getApp()
import {
  request
} from '../../../utils/api'
import Dialog from '../../../vant/dialog/dialog';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 自定义nav
    statusBarHeight1: app.globalData.statusBarHeight + 45,
    areaList: areaList,
    // 选择的省市区
    prov: '',
    city: '',
    count: '',
    // 轮播图列表
    swiper: [],
    // 显示的城市
    showAddr: '城市',
    // 显示的专业
    showMajor: '专业',
    // 选择的专业id
    seclectMajor: '',
    // 显示的职称
    showPosition: '职称',
    // 选择的职称id
    seclectPosition: '',
    // 显示的身份
    showRole: '身份',
    // 选择的身份id
    seclectRole: '',
    tabbar: {},
    // 专业集合
    majorList: [{
      id: '',
      varietyName: '所有'
    }],
    // 职称集合
    positionList: [{
      id: '',
      varietyName: '所有'
    }],
    // 身份集合
    roleList: [{
      id: '',
      varietyName: '所有'
    }],
    // 人才列表
    talentsList: [],
    // 基础图片路径
    imgBaseUrl: app.globalData.imgBaseUrl,
    // 数据页数
    pageNum: 1,
    // 是否加载更多
    isLoad: true,
    // 是否显示置顶按钮
    shoGoTop: true,
    // 选择器是否吸顶
    isXi: false,
    scrollHeight: '',
  },
  // 返回
  goBack() {
    wx.navigateBack({
      delta: 1
    })
  },
  // 点击关注
  guanzhu(e) {
    console.log(e);
    let userId = e.currentTarget.dataset.userid
    wx.getStorage({
      key: 'userInfo',
      success: (res) => {
        console.log(res);
        request({
          url: '/zhongyisheji-applet/lookUser/private/guanzhu',
          method: 'post',
          data: {
            userId
          }
        }).then(res => {
          console.log(res);
          if (res.code == 200) {
            wx.showToast({
              title: '关注成功',
            })
            this.setData({
              talentsList: []
            })
            this.getTalentsList()
          } else {
            wx.showToast({
              title: res.msg,
              icon: 'none'
            })
          }
        })
      },
      fail: (res1) => {
      Dialog.confirm({
          title: '提示',
          confirmButtonText: '立即登录',
          message: '您暂未登录，请先登录才能关注',
        })
        .then(() => {
          wx.redirectTo({
            url: '/pages/login/login',
          })
        })
        .catch(() => {
          // on cancel
          Dialog.close()
        });
      }
    })
    
  },
  // 跳转  人才详情
  talentDetail(e) {
    let userId = e.currentTarget.dataset.userid
    console.log('人才详情');
    wx.navigateTo({
      url: '/pages/talents/talentsDetail/talentDetail?userId=' + userId,
    })
  },
  // 跳转  团队详情
  teamDetail() {
    console.log('人才详情');
    wx.navigateTo({
      url: '/pages/talents/teams/teamDetail/teamDetail',
    })
  },
  // 确认选择 地址
  confirm(e) {
    console.log('确认');
    console.log(e);
    this.setData({
      pro: e.detail.values[0].name,
      city: e.detail.values[1].name,
      showAddr: e.detail.values[1].name,
      // city: e.detail.values[2].name,
      // 初始化请求参数
      pageNum: 1,
      isLoad: true,
      talentsList: []
    })
    // 关闭菜单栏弹窗
    this.selectComponent('#city').toggle(false)
    this.getTalentsList()
  },
  // 取消选择地址
  cancel() {
    console.log('取消');
    // 关闭菜单栏弹窗
    this.selectComponent('#city').toggle(false)
  },
  // 选择专业
  selectMajor(e) {
    console.log(e);
    this.setData({
      seclectMajor: e.currentTarget.dataset.majorid,
      showMajor: e.currentTarget.dataset.majorname,
      // 初始化请求参数
      pageNum: 1,
      isLoad: true,
      talentsList: []
    })
    this.selectComponent('#major').toggle(false)
    this.getTalentsList()
  },
  // 选择职称
  selectProfe(e) {
    console.log(e);
    this.selectComponent('#profe').toggle(false)
    this.setData({
      seclectPosition: e.currentTarget.dataset.positionid,
      showPosition: e.currentTarget.dataset.positionname,
      // 初始化请求参数
      pageNum: 1,
      isLoad: true,
      talentsList: []
    })
    this.getTalentsList()
  },
  // 选择身份
  selectRole(e) {
    console.log(e);
    this.selectComponent('#role').toggle(false)
    this.setData({
      seclectRole: e.currentTarget.dataset.roleid,
      showRole: e.currentTarget.dataset.rolename,
      // 初始化请求参数
      pageNum: 1,
      isLoad: true,
      talentsList: []
    })
    this.getTalentsList()
  },
  // 重置按钮
  // onReset() {
  //   this.onPullDownRefresh()
  // },
  // 获取广告图
  getBanner() {
    request({
      url: '/zhongyisheji-applet/lookProject/public/getBannerList',
      method: 'post',
      data: {
        bannerAddress: 2
      }
    }).then(res => {
      console.log(res);
      if (res.code == 200) {
        this.setData({
          banenrImg: res.data
        })
      }
    })
  },
  // 获取选择器数据
  getSelectData(type) {
    // 2 职称，  3  专业   5 身份
    request({
      url: '/zhongyisheji-applet/lookProject/public/getSysVariety',
      method: 'post',
      data: {
        type
      }
    }).then(res => {
      // console.log(res);
      if (res.code != 200) return
      if (type == 2) {
        this.setData({
          positionList: [...this.data.positionList, ...res.data]
        })
      }
      if (type == 3) {
        this.setData({
          majorList: [...this.data.majorList, ...res.data]
        })
      }
      if (type == 5) {
        this.setData({
          roleList: [...this.data.roleList, ...res.data]
        })
      }
    })
  },
  // 获取人才列表
  getTalentsList() {
    request({
      url: '/zhongyisheji-applet/lookUser/public/getUserList',
      method: 'post',
      data: {
        pageNum: this.data.pageNum,
        pageSize: '8',
        province: this.data.prov == '不限' ? '' : this.data.prov,
        city: this.data.city == '不限' ? '' : this.data.city,
        country: this.data.count == '不限' ? '' : this.data.count,
        zhuanyeNeed: this.data.seclectMajor,
        technical: this.data.seclectPosition,
        identity: this.data.seclectRole
      }
    }).then(res => {
      console.log('人才', res);
      if (res.code == 200) {
        if (res.data.records.length == 0) {
          this.setData({
            isLoad: false
          })
          wx.showToast({
            title: '没有更多数据了...',
            icon: 'none'
          })
          return
        }
        res.data.records.filter(item => {
          item.address = item.address.split('-')
        })
        this.setData({
          talentsList: [...this.data.talentsList, ...res.data.records]
        })
      }
    })
  },
  // 获取萝卜兔
  getSwiper() {
    request({
      url: '/zhongyisheji-applet/lookProject/public/getBannerList',
      method: 'post',
      data: {
        bannerAddress: 2
      }
    }).then(res => {
      // console.log(res);
      if (res.code == 200) {
        let arr = []
        res.data.filter(item => {
          let obj = {}
          obj.url = item.bannerUrl,
            obj.id = item.bannerId
          arr.push(obj)
        })
        this.setData({
          swiper: arr
        })
      }
    })
  },
  // 回到顶部
  goTop() {
    wx.pageScrollTo({
      scrollTop: 0
    })
  },
  // 获取滚动条的位置
  onPageScroll(e) {
    // console.log(e);
    if (e.scrollTop > 300) {
      this.setData({
        shoGoTop: false
      })
    } else {
      this.setData({
        shoGoTop: true
      })
    }
    if (e.scrollTop >= this.data.scrollHeight) {
      this.setData({
        isXi: true
      })
    } else {
      this.setData({
        isXi: false
      })
    }
  },
  // 查询是否有未读消息
  getMessageState() {
    request({
      url: '/zhongyisheji-applet/message/private/getUserMessageState',
      method: 'post',
      data: {}
    }).then(res => {
      if (res.code == 200 && res.data.haveMessageState == 2) {
        this.setData({
          showDot: true
        })
      } else {
        this.setData({
          showDot: false
        })
        // if (res.code == 501) {
        //   Dialog.close()
        //   Dialog.confirm({
        //       title: '提示',
        //       confirmButtonText: '立即登录',
        //       message: '您暂未登录，请先登录才能更好的体验',
        //     })
        //     .then(() => {
        //       wx.redirectTo({
        //         url: '/pages/login/login',
        //       })
        //     })
        //     .catch(() => {
        //       // on cancel
        //       Dialog.close()
        //       wx.switchTab({
        //         url: '/pages/tabbars/home/home',
        //       })
        //     });
        // }
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // console.log(areaList);
    let that = this
    app.editTabbar();
    this.getSelectData(2)
    this.getSelectData(3)
    this.getSelectData(5)
    // this.getTalentsList()
    this.getSwiper()
    wx.createSelectorQuery().select('#select').boundingClientRect(function (rect) {
      console.log(rect.top);
      that.setData({
        scrollHeight: rect.top - that.data.statusBarHeight1
      })
    }).exec()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.setData({
      talentsList: [],
      pageNum: 1
    })
    this.getMessageState()
    this.getTalentsList()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({
      // 选择的省市区
      prov: '',
      city: '',
      count: '',
      // 轮播图列表
      swiper: [],
      // 显示的专业
      showMajor: '专业',
      // 选择的专业id
      seclectMajor: '',
      // 显示的职称
      showPosition: '职称',
      // 选择的职称id
      seclectPosition: '',
      // 显示的身份
      showRole: '身份',
      // 选择的身份id
      seclectRole: '',
      tabbar: {},
      // 专业集合
      majorList: [{
        id: '',
        varietyName: '所有'
      }],
      // 职称集合
      positionList: [{
        id: '',
        varietyName: '所有'
      }],
      // 身份集合
      roleList: [{
        id: '',
        varietyName: '所有'
      }],
      // 人才列表
      talentsList: [],
      // 数据页数
      pageNum: 1,
      // 是否加载更多
      isLoad: true,
      // 是否显示置顶按钮
      shoGoTop: true,
    })
    this.onLoad()
    this.getTalentsList()
    setTimeout(function () {
      wx.stopPullDownRefresh()
    }, 1200)
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (!this.data.isLoad) {
      return
    }
    this.setData({
      pageNum: this.data.pageNum + 1
    })
    this.getTalentsList()
  },

  /**
   * 用户点击右上角分享
   */
  // onShareAppMessage: function () {

  // }
})